Rule-based reasoning is a process for deriving implicit knowledge from explicitly given knowledge through rules. Knowledge in a semantic web is represented by ontology described using Resource Description Framework (RDF), RDF Schema (RDFS), Web Ontology Language (OWL), etc. Since this ontology is a set of RDF triples, rule-based reasoning is a process for deriving a new triple by applying given rules to a set of explicitly given RDF triples.
As various institutions generate ontology and the scale of ontology gradually increases, the size that must be supported by a reasoning system gradually gets closer to the scale of an existing web. In this environment, a method of storing large-capacity RDF triples and reducing unnecessary redundancy of triples generated through reasoning while improving the speed of reasoning is urgently required.
As one method for supporting large capacity, a method of storing RDF triples in a Database Management System (DBMS) has been widely used. The storage of large-capacity triples can be easily achieved using a DBMS, but there are problems in that the efficiency of a store decreases due to unnecessary redundancy occurring in a reasoning process, and reasoning speed decreases due to such inefficiency.
In particular, in the case of rule rdfs7 (<?x,?a,?y> <?a,rdfs:subPropertyOf,?b>→<?x,?b,?y>) and rule rdfs9 (<?x,rdfs:subClassOf,?y> <?a,rdf:type,?x>→<?a,rdf:type,?y>), which are RDFS subsumption relation entailment rules, and OWL inverse relation rules (<?a,owl:inverseOf,?b> <?x,?a,?y>→<?y,?b,?x>), the number of times that the rules are applied increases, and an excessively large number of triples are generated, so that large storage space is occupied, and the efficiency of reasoning is decreased.
For example, FIG. 1 illustrates part of an ontology for modeling universities. Since the property ex:name is a subproperty of the property rdfs:label, all subjects and objects having the property ex:name are extended to subjects and objects having the property rdfs:label. In the case of classes ex:Professor and ex:Person, extension based on a hierarchical relationship is equally applied, but there is only a difference in that they are classes rather than properties.
Finally, since the property ex:hasMember and the property ex:memberOf are in inverse relation, that is, owl:inverseOf, all subjects and objects of the property ex:hasMember are extended to objects and subjects of the property ex:memberOf, respectively. Such an extension is essentially required for completeness from the standpoint of the query answering of a reasoning system. However, complicated combinations between several triples are not required in such a way that only a predicate in a triple is replaced, or only the sequence of a subject and an object is additionally changed. Accordingly, an operation of simply duplicating and storing triples results in the inefficiency of triple storage and of the reasoning system.
Consequently, in order to improve the efficiency of storage space and reasoning, a device capable of reducing excessively large storage space and the application of reasoning rules is required. Of course, such a device must not obstruct the efficiency of query answering with respect to an RDF triple store.